#!/bin/bash

# 该脚本测试于centos7环境，其他系统暂未运行该脚本

# Nginx 日志目录和日志文件
LOG_DIR="/var/log/nginx"
ACCESS_LOG="${LOG_DIR}/access.log"
ERROR_LOG="${LOG_DIR}/error.log"

# 切割日志的时间戳，格式为 YYYY-MM-DD-HH-MM-SS
TIMESTAMP=$(date +"%Y-%m-%d-%H-%M-%S")

# 创建一个备份目录（如果需要的话）
BACKUP_DIR="${LOG_DIR}/backup"
mkdir -p "${BACKUP_DIR}"

# 备份当前日志文件
cp "${ACCESS_LOG}" "${BACKUP_DIR}/access.log.${TIMESTAMP}"
cp "${ERROR_LOG}" "${BACKUP_DIR}/error.log.${TIMESTAMP}"

# 清空原始日志文件
> "${ACCESS_LOG}"
> "${ERROR_LOG}"

# 发送 USR1 信号以重新打开日志文件
kill -USR1 $(ps -ef | grep '[n]ginx: master' | awk '{print $2}')

echo "日志切割完成: ${TIMESTAMP}"